#define _CRT_SECURE_NO_WARNINGS 1


//#include"vector.h"
//
//int main()
//{
//	yyh::vector<int> v1{ 1, 2, 3, 4, 5 };
//	for (auto& e : v1)
//	{
//		cout << e << ' ';
//	}
//	cout << endl;
//
//	yyh::vector<int> v2(v1.begin() + 1, v1.end() - 1);
//	for (auto& e : v2)
//	{
//		cout << e << ' ';
//	}
//	cout << endl;
//
//	yyh::vector<int> v3(5, 1);
//	for (auto& e : v3)
//	{
//		cout << e << ' ';
//	}
//	cout << endl;
//
//	return 0;
//}


#include<list>
#include<iostream>

using namespace std;

int main()
{
	/*list<int> l1;
	l1.push_back(1);
	l1.push_back(2);
	l1.push_back(3);
	l1.push_back(4);
	list<int>::iterator it1 = l1.begin();
	while (it1 != l1.end())
	{
		cout << *it1 << ' ';
		it1++;
	}
	cout << endl;

	l1.assign(5, 1);
	for (auto& e : l1)
	{
		cout << e << ' ';
	}
	cout << endl;*/

	//list<int> l1{ 4,3,2,1 };
	//for (auto& e : l1)
	//{
	//	cout << e << ' ';
	//}
	//cout << endl;

	///*l1.remove(4);
	//for (auto& e : l1)
	//{
	//	cout << e << ' ';
	//}
	//cout << endl;*/
	//l1.sort();
	//for (auto& e : l1)
	//{
	//	cout << e << ' ';
	//}
	//cout << endl;

	list<int> l1{ 1,1,2,2,3,4 };
	for (auto& e : l1)
	{
		cout << e << ' ';
	}
	cout << endl;
	
	/*l1.unique();
	for (auto& e : l1)
	{
		cout << e << ' ';
	}
	cout << endl;*/
	l1.splice(l1.end(), l1, l1.begin());
	for (auto& e : l1)
	{
		cout << e << ' ';
	}
	cout << endl;

	return 0;
}